package CollectionsDay01;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArrayListDemo {
    public static void main(String[] args) {
        String[] array = {"one","two","three","four","five"};
        System.out.println("array:"+ Arrays.toString(array));

        //asList()方法会返回内部类ArrayList,该ArrayList内部直接引用给定数组array
        List<String> list = Arrays.asList(array);
        System.out.println("list:"+list);

        //对数组操作后,集合也会做相应的改变
        array[1] = "six";
        System.out.println("array:"+Arrays.toString(array));
        System.out.println("list:"+list);
        //对集合操作后,数组也会做相应的改变

        /*
        添加元素/删除元素相当于要往数组中加元素/减元素
        而数组是定长的,不会自动扩容/缩容的,因此会发生不支持操作的异常
        //list.add("!!!!!");运行时发生不支持操作的异常
         */

        //如果我们需要增删元素,可另行创建一个集合同时包含list集合的元素即可
        List<String> list2 = new ArrayList<>(list);
        System.out.println("list2:"+list2);
        list2.add("!!!!!!");
        System.out.println("list2:"+list2);

    }
}
